import Vue from 'vue'
import store from '@/store'
import {IS_DEV,DEV_URL,PRO_URL} from "./config";

//过滤图片地址，如果不是网络地址则拼接域名
Vue.filter('img', (value) => {
	let url =IS_DEV ? DEV_URL : PRO_URL;
	if(value!=undefined&&value!=null){
		if(value.indexOf('http')!=-1){
			return value;
		}
	}
	return url + value;
})

//格式化阅读数量
Vue.filter('view', (value)=>{
	if(value!=undefined&&value!=null){
		if(value>=10000){
			var v=(value/10000).toFixed(1)+'w'
			return v;
		}
	}
	return value;
})
//格式化金额
Vue.filter('price', (value)=>{
	if(value!=undefined&&value!=null){
		if(value>=10000){
			var v=(value/10000).toFixed(1)+'万'
			return v;
		}
	}
	return value;
})

//大写转小写数字
Vue.filter('number', (value)=>{
	if(value!=undefined&&value!=null){
		let result=0;
	   switch (value){
		   case '0':result='0';break;
		   case '零':result='0';break;
		   case '一':result='1';break;
		   case '二':result='2';break;
		   case '三':result='3';break;
		   case '四':result='4';break;
		   case '五':result='5';break;
		   case '六':result='6';break;
		   case '七':result='7';break;
		   case '八':result='8';break;
		   case '九':result='9';break;
		   case '十':result='10';break;
	   }
	   return result;
	}
	return ;
})
//格式化时间戳
Vue.filter('date', (timeStamp, format='Y-m-d H:i')=>{
	if(!timeStamp) return '';
	return date(format, timeStamp);
})

//计算多久之前
Vue.filter('datestr', (d)=>{
	var date =new Date(d);
	   var now =new Date;
	   var dt =now -date;
	   var s =dt /1000;
	   var m =s /60;
	   var h =m /60;
	if(s <60) {
	    return s +'秒前';
	}else if(s <3600) {
	    return parseInt(s /60) +'分钟前';
	}else if(s <86400) {
	    return parseInt(s /60 /60) +'小时前';
	}else if(s <604800) {//在一周内
	    return parseInt(s /60 /60 /24) +'天前';
	}else if(s <2592000) {
	    return parseInt(s /60 /60 /24 /7) +"周前"
	}else if(s <2592000 &&s >604800) {//超过一周
	    return parseInt(s /60 /60 /24) +'天前';
	}else if(s <31104000) {
	    return parseInt(s /60 /60 /24 /30) +'月前';
	}else if(s <311040000) {
		return parseInt(s /60 /60 /24 /30 /12) +'年前';
	}else{
		return d;
	}
})


//身份证号脱敏('331082199708094687' 转换成 '33108219********87') 第8位开始替换8个
Vue.filter('idcard', (value)=>{
	 if (!value) {
	 	return ''
	 }else{
	 	let data = value.replace(/(\d{8})\d{8}(\d*)/, '$1********$2')
	 	return data
	 }
})

// 手机号脱敏('13912345678' 转换成 '139****5678') 第3位开始替换4个
Vue.filter('telHide', (value)=>{
	 if (!value) {
	 	return ''
	 }else{
	 	let data = value.replace(/(\d{3})\d{4}(\d*)/, '$1****$2')
	 	return data
	 }
})

// 姓名脱敏(小明 转换成 *明   李小明 转换成 李*明   欧阳小明 转换成 欧**明)
Vue.filter('nameHide', (value)=>{
	 if(!value){
	 	return ''
	 }else{
	 	if (value.length === 2) {
	 		return new Array(value.length).join('*') + value.substr(-1)
	 	} else {
	 		return (
	 			value.substr(0, 1) + new Array(value.length - 1).join('*') + value.substr(-1)
	 		)
	 	}
	 }
})

//格式化银行卡号，4位放一个空格
Vue.filter('formataccNo', (accNo) => {
	let result = '',
		index = 0;
	if (accNo != undefined && accNo != null) {
		for (let i = 0; i < accNo.length; i++) {
			result += accNo.charAt(i);
			index++;
			if (index == 4 && (i + 1 != accNo.length)) {
				result += " ";
				index = 0;
			}
		}
	}
	return result;
})
 // 银行卡脱敏
Vue.filter('bankCardHide', (value)=>{
	if(!value){return}
	if(value){
		let reg = /^(\d{4})\d+(\d{4})$/;
		let _str = '*';
		let _len = value.length - 8;
		if(_len > 1 && _len <16){
			for(let i = 0; i< _len;i++){
				_str = _str + '*'
			}
			console.log(_str)
			let _num = value.replace(reg, `$1${_str}$2`);
			return _num;
		}else{
			let _num = value.replace(reg, `$1****$2`);
			return _num;
		}
	}
})
